+2005-09-11 Øyvind Kolås <pippin@gimp.org>
+
+ * babl/babl.h: use gcc 4.x attribute for NULL sentinel.
+ * babl/babl-format.c: (babl_format_new): added missing enumeration
+ values to switch.
+ * babl/babl-model.c: (babl_model_new): added missing enumeration
+ values to switch.
+
2005-09-11 Øyvind Kolås <pippin@gimp.org>
* tests/formats.c: new test (that might form the basis of loss
switch (babl->class_type)
{
case BABL_TYPE:
+ case BABL_TYPE_FLOAT:
+ case BABL_TYPE_INTEGER:
current_type = (BablType*) babl;
break;
case BABL_COMPONENT:
case BABL_CONVERSION_PLANE:
case BABL_CONVERSION_PLANAR:
case BABL_FISH:
+ case BABL_FISH_SIMPLE:
case BABL_FISH_REFERENCE:
case BABL_IMAGE:
+ case BABL_EXTENSION:
babl_log ("%s unexpected",
babl_class_name (babl->class_type));
break;
babl_log ("submodels not handled yet");
break;
case BABL_TYPE:
+ case BABL_TYPE_INTEGER:
+ case BABL_TYPE_FLOAT:
case BABL_SAMPLING:
case BABL_INSTANCE:
case BABL_FORMAT:
case BABL_CONVERSION_PLANAR:
case BABL_FISH:
case BABL_FISH_REFERENCE:
+ case BABL_FISH_SIMPLE:
case BABL_IMAGE:
+ case BABL_EXTENSION:
babl_log ("%s unexpected", babl_class_name (babl->class_type));
break;
case BABL_SKY: /* shut up compiler */
*/
void babl_destroy (void);
+#if __GNUC__ >= 4
+#define BABL_ARG_NULL_TERMINATED __attribute__((__sentinel__))
+#else
+#define BABL_ARG_NULL_TERMINATED
+#endif
#define BABL_CLASS_NO_NAME(type_name) \
\
BABL_CLASS_NO_NAME (type_name) \
Babl * babl_##type_name (const char *name); \
Babl * babl_##type_name##_new (void *first_arg, \
- ...);
+ ...) BABL_ARG_NULL_TERMINATED;
typedef int (*BablEachFunction) (Babl *entry,
void *data);
* NULL);
*/
Babl * babl_image (void *first_component,
- ...);
+ ...) BABL_ARG_NULL_TERMINATED;